package it.orma.iridehr.validators;

import it.orma.iridehr.entities.AltreInformazioni;

import org.apache.commons.lang3.StringUtils;
import org.springframework.binding.message.MessageBuilder;
import org.springframework.binding.message.MessageContext;
import org.springframework.binding.validation.ValidationContext;
import org.springframework.stereotype.Component;

@Component
public class AltreInformazioniValidator {
	
	public AltreInformazioniValidator() {
		
	}
	
	/*
	 *Ciao Marco, come stai?
Si è presentato un nuovo errore nella compilazione della scheda candidato.
Nella pagina "altre informazioni" ad ora risultano obbligatori tutti i campi, ma per noi devono essere obbligatori solo:

-guadagno desiderato mese
-mensilità
-inquadramento
-preavviso
-attualmente
-hobbies

altrimenti non possiamo procedere con la compilazione della scheda!
Grazie, 
	 * 
	 * 
	 */
	public void validate(AltreInformazioni altreInfo, ValidationContext context) {
		MessageContext messages = context.getMessageContext();
		if (StringUtils.isEmpty(altreInfo.getPreavviso())) {
			messages.addMessage(new MessageBuilder().error().source("preavviso")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getAnnualeLordo())) {
			messages.addMessage(new MessageBuilder().error().source("annualeLordo")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getMensileLordo())) {
			messages.addMessage(new MessageBuilder().error().source("mensileLordo")
					.code("error.campo.obbligatorio").build());
		}
//		if (StringUtils.isEmpty(altreInfo.getDelusioni())) {
//			messages.addMessage(new MessageBuilder().error().source("delusioni")
//					.code("error.campo.obbligatorio").build());
//		}
//		if (StringUtils.isEmpty(altreInfo.getSoddisfazioni())) {
//			messages.addMessage(new MessageBuilder().error().source("soddisfazioni")
//					.code("error.campo.obbligatorio").build());
//		}
		if (StringUtils.isEmpty(altreInfo.getGuadagnoAnnuale())) {
			messages.addMessage(new MessageBuilder().error().source("guadagnoAnnuale")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getGuadagnoMensile())) {
			messages.addMessage(new MessageBuilder().error().source("guadagnoMensile")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getHobbies())) {
			messages.addMessage(new MessageBuilder().error().source("hobbies")
					.code("error.campo.obbligatorio").build());
		}
//		if (StringUtils.isEmpty(altreInfo.getSports())) {
//			messages.addMessage(new MessageBuilder().error().source("sports")
//					.code("error.campo.obbligatorio").build());
//		}
//		if (StringUtils.isEmpty(altreInfo.getProvenienza())) {
//			messages.addMessage(new MessageBuilder().error().source("provenienza")
//					.code("error.campo.obbligatorio").build());
//		}
//		if (StringUtils.isEmpty(altreInfo.getQuotidiano())) {
//			messages.addMessage(new MessageBuilder().error().source("quotidiano")
//					.code("error.campo.obbligatorio").build());
//		}
//		if (StringUtils.isEmpty(altreInfo.getUltimoLibro())) {
//			messages.addMessage(new MessageBuilder().error().source("ultimoLibro")
//					.code("error.campo.obbligatorio").build());
//		}
		if (StringUtils.isEmpty(altreInfo.getStatoAttuale())) {
			messages.addMessage(new MessageBuilder().error().source("statoAttuale")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getStatoAttuale())) {
			messages.addMessage(new MessageBuilder().error().source("inqDesiderato")
					.code("error.campo.obbligatorio").build());
		}
		if (StringUtils.isEmpty(altreInfo.getStatoAttuale())) {
			messages.addMessage(new MessageBuilder().error().source("numeroMensilita")
					.code("error.campo.obbligatorio").build());
		}	
		

	}

}
